from public.action import *
from public.business import *
from public.testData import *
from public.tools import *

testCase = "DBshop003_货到付款"
# 1.在首页搜索"小米",点击搜索按钮
firefox=openBrowser(url)
DBshopLogin(firefox,userName,password)
# 2.选择小米mix3,加入到购物车,点击购物车按钮
firefox.find_element_by_xpath('//input[@name="keywords"]').send_keys('小米')
firefox.find_element_by_xpath("//input[@type='submit']").click()
firefox.find_element_by_link_text("小米Mix3 全网通版 8GB+128GB 黑色 磁动力滑盖全面屏").click()
# 跳转到新页面
switchWindow(firefox,2)
firefox.find_element_by_xpath("//button[@id='add_cart_submit']").click()
# 3.点击"去结算"按钮
firefox.find_element_by_link_text("去购物车结算").click()
firefox.find_element_by_link_text("去结算").click()
# 4.默认地址已经别选择,点击下一步按钮
firefox.find_element_by_xpath("//input[@value='下一步']").click()
#  5.支付方式选择"货到付款",点击确认订单。
firefox.find_element_by_xpath("//input[@value='hdfk']").click()
firefox.find_element_by_xpath("//input[@value='确认订单']").click()
# 使用变量orderNO存储订单编号
orderNO=firefox.find_element_by_xpath('(//font[@color="color:#ED145B"])[2]').text
rootPath=get_pro_rootpath()
writeFile(rootPath+'\public\order1.txt',orderNO) # 将订单编号写入到文件中
# 6.登录后台管理系统,地址是"http://localhost/dbshop/admin",
firefox=openBrowser(urlAdmin)
DBshopLoginAdmin(firefox)
# 7.点击商品管理订单管理，找到刚才前台提交的订单，点击“编辑查看”。
DBshopEnterMenu2(firefox,"销售管理","订单管理")
firefox.find_element_by_xpath("//input[@name='order_sn']").send_keys(orderNO)
firefox.find_element_by_xpath('//button').click() # 用订单号搜索
firefox.find_element_by_link_text("编辑查看").click()
# 8.点击发货操作按钮，编辑快递单号“1000000000” 发货说明“保证正品”，点击“点击发货”按钮。
firefox.find_element_by_link_text('发货操作').click()
firefox.find_element_by_xpath("//input[@id='express_number']").send_keys("1000000000")
firefox.find_element_by_xpath("//textarea[@id='state_info']").send_keys("保证正品")
firefox.find_element_by_xpath('//button').click()
# 9.点击付款操作按钮,付款状态选择"已付款",点击提交保存按钮
firefox.find_element_by_link_text('付款操作').click()
firefox.find_element_by_xpath('//option[text()="已付款"]').click()
firefox.find_element_by_xpath('//button').click()
# 10.进入dbshop前台我的订单—已发货，点击“确认收货”按钮，完成订单。
firefox=openBrowser(url)
DBshopLogin(firefox,userName,password)
firefox.find_element_by_link_text("我的订单").click()
firefox.find_element_by_partial_link_text("已发货").click()
firefox.find_element_by_name('search_order_sn').send_keys(orderNO)  # 输入订单编号
firefox.find_element_by_xpath("//button[text()='搜索']").click()  # 点击搜索按钮
firefox.find_element_by_xpath("(//button[text()='确认收货'])[1]").click()
firefox.find_element_by_xpath("//button[@class='btn btn-primary btn-large']").click()
firefox.switch_to.alert.accept()
# 11.进入dbshop前台查看我的订单"交易完成"中,检查上面的订单状态
firefox.find_element_by_partial_link_text('交易完成').click()#点击交易完成页签
firefox.find_element_by_name('search_order_sn').send_keys(orderNO) #输入订单编号
firefox.find_element_by_xpath("//button[text()='搜索']").click() #点击搜索按钮
#  断言 订单状态是已完成,购物流程结束
try:
    firefox.find_element_by_xpath("//span[text()='订单完成']")
    writeLog("%s 测试通过"%testCase)
except:
    writeLog("%s 测试失败" % testCase)
    getPhoto(firefox)
firefox.quit()